Hosting services provide a means whereby multiple users can implement custom server configurations without the overhead costs associated with purchasing, upgrading, and maintaining the equipment needed to implement the configuration. In some cases, a hosting service provider maintains and provisions a grid of hardware nodes that are shared amongst the multiple users. More specifically, resources of a single node can be partitioned and each of these partitions can be allocated to host a server configuration of a different user.
Virtualization provides the means for partitioning the hardware resources amongst the multiple server configurations. Virtualization creates the façade that each server configuration is individually hosted on dedicated equipment with a particular set of resources. Two or more server configurations are provided non-conflicting sets of resources of the same hardware node such that a guaranteed amount of processing resources is available to each such configuration. In other words, a single physical resource is partitioned to operate as multiple logical resources.
In some cases, a hosting service may lease dedicated equipment for users to implement their custom server configurations. The dedicated equipment in some instances may provide higher reliability, increased performance, and greater security as its hardware resources are not shared amongst multiple users. For instance, dedicated servers may be ideal for running applications that users do not want on a multi-tenant environment. One example of such an application is a database application that requires Payment Card Industry (PCI) Data Security Standard compliance.
To facilitate the hosting services, users typically place orders for hardware configurations requiring certain functionality. Users fill out forms or place telephone calls to specify their configurations. At the hosting service site, system operators review the requests and manually determine which nodes or dedicated equipment to distribute the configurations. The operators then configure the nodes or equipment and install software as specified within the order requests.
In some cases, a hosting service may include multiple grids supporting server configurations for different users. However, limitations of virtual local area network (VLAN) protocol (e.g., 802.1Q) may cause problems when deploying network configurations of servers on one switched network. For instance, the VLAN protocol may specify that a VLAN identification (IDs) includes 12 bits of data. This limits the maximum number of unique VLAN IDs to around 4096 (2′12) per switched network. As a result, once the available VLAN IDs are utilized, the servers of different users may not be able to be bridged on to the same switched network as it will break the logical division of the users' network configurations.
Reserving one or more switches for servers on a per-grid basis adversely affects scalability, manageability, and capacity planning, and results in suboptimal resource utilization. Furthermore, the problem of configuring and managing separate network switches for different grids may escalate as new grids are added to the hosting service. Similarly, reserving a hardware node for servers on a per-grid basis adversely affects scalability, manageability, and capacity planning, and results in suboptimal resource utilization.